package com.cleaningcloud.erp.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.cleaningcloud.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.cleaningcloud.common.core.annotation.Excel;

/**
 * 销售退换货对象 erp_sale_return
 * 
 * @author cleaningcloud
 * @date 2024-10-03
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ErpSaleReturn extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 销售退换货ID */
    private Long saleReturnId;

    /** 退换货单号 */
    @Excel(name = "退换货单号" ,sort = 1)
    private String saleReturnOdd;

    /** 销售单ID */
    private Long saleId;

    /** 销售单号 */
    @Excel(name = "销售单号", sort = 2)
    private String saleOdd;

    /** 入库仓库ID */
    private Long wareId;

    /** 正负状态(1正+2负-) */
    private Long returnStatus;

    /** 退货总额 */
    @Excel(name = "退换货金额", sort = 8)
    private BigDecimal returnPrice;

    /** 物流费用 */
    private BigDecimal logisticsCost;

    /** 物流费用分摊方式(1按重量分摊2按体积分摊) */
    private Long logisticsMethod;

    /** 其他费用 */
    private BigDecimal otherCost;

    /** 其他费用分摊方式(1按重量分摊2按体积分摊) */
    private Long otherMethod;

    /** 付款方式(1现金2微信3支付宝4银行转账) */
    private Long paymentMethod;

    /** 创建人ID */
    private Long createId;

    /** 创建人名称 */
    @Excel(name = "创建人", sort = 13)
    private String createName;

    /** 备注是否关闭 */
    private String flag;

    /** 审批状态(1待审批2被驳回3已退货) */
    @Excel(name = "审批状态", sort = 10,readConverterExp = "1=待审批,2=被驳回,3=已退货")
    private Integer approveStatus;

    /** 审批人ID */
    private Long approveId;

    /** 审批人名称 */
    @Excel(name = "审批人",sort = 11)
    private String approveName;

    /** 审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",sort = 12)
    private Date approveTime;

    /** 驳回时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date rejectTime;

    /** 驳回原因 */
    private String rejectReason;

    // 批量导出ids
    private String exportIds;


}
